'use strict'

import HybridJS from '../core/core'

const $ = HybridJS

/**
 * 数据持久化，返回数据： true 表示存储成功,反之表示存储失败
 */
function set(key,value) {
    var valObj = value
    if (typeof value === "object") {
        //todo 抛异常 只允许value为字符串
    }
    return $.callNativeSync("storage","set",{"key":key,"value":value})
}

/**
 * 根据key获取数据,返回数据: key不存在时，返回null，key存在，返回value值
 */
function get(key) {
    return $.callNativeSync("storage","get",{"key":key})
}

/**
* 根据key删除数据,返回数据: 当被删除的key不存在，返回null，key存在，删除时返回value值
*/
function remove(key) {
    return $.callNativeSync("storage","remove",{"key":key})
}

/**
 * 清空数据,返回数据: true表示清空成功，反之表示清空失败
 */
function clear() {
    return $.callNativeSync("storage","clear")
}

export default {
    set,
    get,
    remove,
    clear
}